1. Field of the Invention
This invention relates to an apparatus that applies block floating processing to a digital input signal, orthogonally transforms the block floating processed signal on the time axis into plural spectral coefficients on the frequency axis, divides the spectral coefficients into plural critical bands, and carries out adaptive bit allocation to quantize the spectral coefficients in each critical band.
2. Description of the Prior Art
As one of technologies for compressing a digital audio signal, and similar analog signals, it is known to apply block floating processing in which the digital input signal is divided into blocks of a predetermined number of words, and block floating processing is applied to each block. In known block floating processing, the maximum one of the absolute values of the words in the block is sought, and is used as a common block floating coefficient for all the words in the block.
Further, it is also known to use orthogonal transform coding to transform orthogonally a signal on the time axis into a signal on the frequency axis. The resulting spectral coefficients are then quantized. For example, it is known to divide, e.g., a PCM audio signal into blocks, each of a predetermined number of words, and to apply a Discrete Cosine Transform (DCT) to each block. In addition, it is also known to divide the spectral coefficients resulting from an orthogonal transform into critical bands and to quantize the spectral coefficients by applying adaptive bit allocation to each critical band. The number of bits allocated for quantizing the spectral coefficients in each critical band is determined depending on an allowable noise level in each critical band, which takes psycho-acoustic masking into consideration.
There are many instances where the operational processing for an orthogonal transform is executed by using a FIR (Finite-duration Impulse-Response) filter of the multi-tap type. This type of operational processing includes coefficient multiplication processing and/or operations for calculating a sum total, etc. The number of bits generated by such processing results the likelihood of overflows. To prevent such overflows, the number of bits generated by the operation must be allowed for in advance by, e.g., processing using several orders of bits greater than the number of bits in each word of the input signal. For such a multi-bit operation, a high performance DSP (Digital Signal Processing unit) is required, and it takes much time as well. Accordingly, simplification of the orthogonal transform processing is desirable.
In view of this, a technique has been proposed to apply the above-mentioned block floating processing to the digital input signal prior to the orthogonal transform processing. The block floating processing achieves bit compression of the input signal and reduces the number of bits subject to the orthogonal transform operation.
Further, a technique has been also proposed to adaptively vary the size of the block subject to the orthogonal transform processing depending on a signal. Such a technique is employed because, particularly when the input signal is divided into components in several (e.g., about three) frequency ranges, and the orthogonal transform processing is performed in each frequency range, varying the block length in response to the magnitude of temporal changes, or in response to a pattern, etc., in the frequency range signals permits a more efficient quantizing of the resulting spectral components than when the block length is fixed.
It is to be noted that when block floating is applied prior to the orthogonal transform processing, and the block length is adaptively changed depending on a signal, independent processing is applied, which results in the drawback that the amount of processing required is increased.
For example, as shown in FIG. 15, a relatively large block BL is divided in advance into several sub blocks (e.g., the four sub blocks BL.sub.S1, BL.sub.S2, BL.sub.S3 and BL.sub.S4). As indicated by step S31 of FIG. 16, the respective energies of the sub blocks BL.sub.S1, BL.sub.S2, BL.sub.S3 and BL.sub.S4 are calculated in the process of determining the size of the variable length block. At the next step S32, the block size is determined in response to the energies of the respective sub blocks. Then, at step S33, the maximum absolute value within the block determined in the previous step is calculated to implement block floating processing using the calculated maximum absolute value. At the next step S34, orthogonal transform processing, such as DCT, is applied to the block.
In such a processing procedure, calculation of the energy of each respective sub block BL.sub.S1, BL.sub.S2, BL.sub.S3 and BL.sub.S4 for determining the block size, and calculation of the maximum absolute values in the thus-determined blocks for applying the block floating processing are required. As a result, the quantity subject to processing or the number of steps in processing by a so-called microprogram is increased.
When determining an allowable noise level for each critical band to take account of masking, it has been proposed to correct the allowable noise level to take into consideration the minimum audible level characteristic of the human sense of hearing. In this, an allowable noise level already calculated is compared with a minimum audible level, and the greater level is selected as the new allowable noise level.
The allowable noise level in which masking is taken into consideration is assumed to be constant across each critical band. However, since the minimum audible level is measured using a sine wave, the can be an appreciable change in the minimum audible level between the low frequency end and the high frequency end of each critical band. This is particularly so at high frequencies, where the critical bands are relatively broad. For this reason, using a single minimum audible level for each critical band causes appreciable errors, resulting in the possibility of an excess number of bits being allocated for quantizing the spectral coefficients towards the high frequency end of the critical band.
In addition, although it is conceivable to divide the critical band into small sub bands, and to give a minimum audible level for each sub band, this is not preferable because the quantity of information required to be transmitted is increased.